Computer Vision For Precision Livestock Farming